package com.zhima.exception;

public enum ErrorCode {
    NOT_AUTHORIZATION("未登录"),
    TOKEN_HAS_EXPIRED("认证令牌过期"),
    TOKEN_NOT_VALID("认证令牌无效"),
    AUTH_PARAM_NOT_VALID("认证参数不合法"),
    PASSWORD_OR_USERNAME_WRONG("用户名或密码错误"),
    CHECK_CODE_HAS_EXPIRED("验证码已过期"),
    CHECK_CODE_WRONG("验证码错误"),
    CHECK_CODE_SEND_FAILURE("验证码发送失败"),
    USER_NOT_FOUND("用户不存在"),
    USER_CREATE_FAILURE("用户创建失败"),
    DISPATCH_ROLE_FAILURE("分配角色失败"),
    UPLOAD_FILE_FAILURE("文件上传失败"),
    DOWNLOAD_FILE_FAILURE("文件下传失败"),
    MINIO_CONNECT_FAILURE("minio连接失败"),
    MERGE_CHUNK_FILE_FAILURE("合并分片文件失败"),
    DUPLICATED_LABEL_NAME("标签名重复"),
    NOT_ALLOW_OPERATE_OTHER_RESOURCES("不允许操作其他人的资源"),
    NOT_ALLOW_COVER_AUDIT("不允许覆盖上一次的审核，请等待上一次的审核结束后再提交审核"),
    NOT_ALLOW_PUBLISH_NOT_PASS_AUDIT("不允许发布未通过审核的题目"),
    TEST_CASES_NOT_ALLOW_EMPTY("题目测试点信息不允许为空，请添加测试点信息后重新提交审核"),
    FILE_NOT_ZIP("上传的测试用例文件不是压缩包"),
    TEST_CASES_NUMBER_IS_ODD("测试文件没有成对出现"),
    TEST_CASE_FILE_MUST_IN("测试用例输入文件必须是in文件"),
    TEST_CASE_FILE_MUST_OUT("测试用例输出文件必须是out文件"),
    CREATE_DIR_FAILURE("临时文件创建失败"),
    FIRST_SUBMIT_AUDIT("请先将题目审核通过"),
    SUBMIT_JUDGE_FAILURE("提交测评失败"),
    QUESTION_NOT_PUBLISH("题目还未发布"),
    ONLY_ALLOW_UPLOADER_QUERY("只允许做题人、出题人、组织比赛的用户查看本条测评信息"),
    BATCH_IMPORT_FILE_FORMAT_ERROR("批量导入题目，文件格式出错"),
    ELASTIC_SEARCH_ERROR("ES搜索服务出错"),
    CREATE_QUESTION_BANK_ERROR("创建题库失败"),
    APPLY_CONTEST_ERROR("比赛开始后不得报名"),
    PUBLISH_QUESTION_TO_MYSQL_ERROR("题目更新到MySQL出错"),
    PUBLISH_QUESTION_TO_REDIS_ERROR("题目更新到Redis出错"),
    PUBLISH_QUESTION_TO_ES_ERROR("题目更新到ES出错"),
    NOT_ALLOW_APPLY_THE_SAME_CONTEST("不允许重复报名参加同一场比赛"),
    OLD_PASSWORD_WRONG("原密码错误"),
    NOT_FIND_QUESTION_BY_QUESTION_NUMBER("不存在此题号的题目"),
    NOT_ALLOW_DUPLICATE_QUESTION("不允许添加重复题目"),
    RESOURCE_NOT_FOUND("资源不存在"),
    RESOURCE_NOT_ALLOW("资源不允许访问"),
    CONTEST_HAS_BEGIN_NOT_ALLOW_UPDATE_QUESTION("比赛已经开始，禁止修改题目相关配置"),
    INVITE_CODE_WRONG("比赛邀请码错误"),
    CONTEST_HAS_BEGIN_NOT_ALLOW_UPDATE_TIME("比赛已经开始，禁止修改比赛开始时间、赛制"),
    ;
    private String errorMessage;

    ErrorCode(String errorMessage) {
        this.errorMessage = errorMessage;
    }

    public String getErrorMessage() {
        return errorMessage;
    }

    public void setErrorMessage(String errorMessage) {
        this.errorMessage = errorMessage;
    }
}
